package com.along.game.dao;

import java.util.List;

import com.along.game.model.Bigpic;
import com.along.game.model.Gamescene;
import com.along.game.model.InitDeskinfo;
import com.along.game.model.OnlineUser;
import com.along.game.model.SmallStateinfo;
/*
 * 管理房间DAO
 */
public interface InitGameDAO{
	/**
	 * 保存在线用户
	 * @param onlineUser
	 */
	public int InserOnlineUser(OnlineUser onlineUser);
	/**
	 * 保存用户到房间的左座位或右座位
	 * @param onlineUser
	 */
	public void SaveRoomInfoByLocalId(String deskid,String position,String usn);
	
	/**
	 * 点击“开始”按钮后，更新用户的状态为“开始”状态,1为开始,0为未准备
	 * @param onlineUser
	 */
	public int UpdateUserStateStateByUsn(String strState,String usn);
	/**
	 * 一个人玩完游戏后，通知已经玩完游戏
	 * @param onlineUser
	 */
	public int UpdateUserEndStateByUsn(String strEndState,String usn);
	/**
	 * 结束一局游戏后，更新用户的状态为“准备”状态,1为开始,0为准备，3为游戏中
	 * @param onlineUser
	 */
	public int UpdateDeskStateStateByDeskId(String strState,String deskId);
	/**
	 * 游戏开始时，重设积分等信息
	 * @param onlineUser
	 */
	public int UpdateDeskInit(String deskId);
	/**
	 * 保存初始化的大图片信息
	 * @param initDeskInfo
	 */
	public void InserInitBigPic(InitDeskinfo initDeskInfo);
	/**
	 * 保存初始化的小图片信息
	 * @param initSmallInfo
	 */
	public void InserInitSmallPic(SmallStateinfo initSmallInfo);
	/**
	 * 通过用户usn删除在线用户
	 * @param onlineUser
	 */
	public int DeleteOnlineUserByUsn(String usn);
	/**
	 * 根据游戏桌删除一场游戏的初始化的图片
	 * @param onlineUser
	 */
	public void DeleteInitGame(String deskid);
	/**
	 * 游戏成功后更新在线用户信息
	 * @param onlineUser
	 */
	public void UpdateUserState(String usn);
	
	/**
	 * 游戏结束以后，更新用户的状态为0,并设置游戏为结束状态
	 * @param onlineUser
	 */
	public int UpdateUserEndStateByDeskId(String strEndState,String ifEnd, String desk_id);
	/**
	 * 结束一局游戏后，更新用户的状态为“准备”状态,1为开始,0为准备，3为游戏中
	 * @param onlineUser
	 */
	public int UpdateDeskStateStateByUsn(String strState,String usn);
	
	/**
	 * 在玩游戏过程中，更新点中找茬数
	 * @param onlineUser
	 */
	public int UpdateHitsCount(String usn);
	/**
	 * 游戏成功后更新房间信息
	 * @param onlineUser
	 */
	public void UpdateRoomInfo(String usn);
	/**
	 * 游戏成功后更新用户信息(注册表)
	 * @param onlineUser
	 */
	public void UpdateUserInfo(String usn);
	
	/**
	 * 更新用户的房间
	 * @param onlineUser
	 */
	public void UpdateOnlineUserRoomId(String roomid,String usn);
	

}
